1. Technical Field
The present invention relates in general to the field of information processing systems. In particular, the present invention relates to computer systems which display data via a video controller. More particularly, the present invention relates to computer systems wherein multiple video controllers may be utilized via adapter cards to produce video output. Still more particularly, the present invention relates to video controller support for computer systems.
2. Description of the Related Art
Video controllers permit computer users to view data displayed on a computer display unit by generating video signals. Video controllers are typically located on a computer's main system board (i.e., "on-board") or on an expansion board. Sometimes, however, the video controller may be constructed within the computer itself. Various types of video controllers are commonly utilized in computers, such as personal computers. Early personal computer designs, for example, included PC/AT or Industry Standard Architecture (ISA) expansion slots, which allowed users to install new features or upgrade on-board features with expansion cards. In such standard personal computer designs, if a user upgraded the on-board video graphics array (VGA) controller by adding an expansion card, the expansion card VGA controller by default became the sole source of video output.
In order to utilize the on-board VGA with a particular application, the user was forced to remove the expansion card, and could not dynamically switch VGA controllers in order to utilize a particular controller with a specific application. Also, the user could have only one expansion card VGA controller installed in the system at any one time. Such standard designs are commonly utilized in most personal computers on the market today, and are expected to remain an industry standard in the near future.
More recent personal computer designs include not only ISA expansion slots, but also Peripheral Component Interconnect (PCI) expansion slots. The "plug-and-play" nature of the PCI specification allows the user to install more than one expansion card of the same type without causing hardware conflicts. In the case of video controllers utilized in association with recent personal computer designs, an on-board PCI-based Super VGA (SVGA) controller is likely included within such computers, and a user may be able to add one or more SVGA controllers via PCI expansion slots. However, users are faced with additional problems when adding one or more video controllers via such expansion slots in PCI configurations. For example, a user may have an on-board 2D video controller for use with his or her primary operating system (e.g., Windows or OS/2), but may prefer to use a PCI adapter card with a 3D video controller for his or her favorite game in association with a different operating system (e.g., DOS). In order to successfully accomplish this task, the user typically is forced to reboot the computer after adding the new video controller via the expansion slot and/or reconfigure computer hardware. Such rebooting and reconfiguring activities are forms of power cycling.
These activities are typically time-consuming, and in the case of reconfiguring computer hardware, complicated and error prone. From the foregoing, it can be appreciated that what is needed to solve this problem is a method and system that would allow users to select between multiple video controllers in a given computer system without any excess hardware reconfiguration or power cycling, such as rebooting the computer. Such a method and system, if implemented, would save users both time and energy in switching between multiple video controllers. The disclosure presented herein solves this problem by presenting a method and system for dynamically switching between multiple video controllers present within a computer system.